// 自下而上的思想，
// 通过for循环，求出每一项，然后将其结果放在数组里面，最后将要求的第 n个return出去
// 动态规划的核心是：将问题划分为若干个子问题，并在计算子问题的基础上，逐步构建出原问题的解
function fib (n:number):number {
    // n 位置的值 n-1，n-2
    const memo:number[] = [];
   
    for (let i = 0; i <= n; i++) {
        // 初始化0和1的位置对应的数字是0和1  
        if(i <= 1){
            memo[i] = i;
            continue
        }
        memo[i] = memo[i - 1] + memo[i -2];
    }
    return memo[n];
}


console.log(fib(10))
console.log(fib(50))

export {}